modularization refactoring