Moved viewpoint to screen object
Changed to more efficient pointer implementation