Implemented SurfaceImage