restructuring to add some sub-modules