refactored camera animation