work on modularization