updated camera.hpp