more work in modularization