Clean up
Refactoring code, clean up some class doc block & added ModuleGenerator