modularize step