moved context save and restore to camera;
refactored camera;