initial modularification