reorganized module classes initialization to be able to insert options during initialization