major restructure to modules, each one separated by dir now