refactoring camera movements