Camera refactoring