start modularization