zoom refactoring