updated to use SurfaceView