modularizing shit