slightly modified the camera model