add width and height as part of the surface data contract