refactored camera class a little