fix bug where we pass on surface implementation instead of surface resource
fix bug where we pass on surface implementation instead of surface resource

udevbe/greenfield,udevbe/greenfield,udevbe/greenfield,udevbe/greenfield