modulize function