refactoring zoom