reworked modules, added comments