added primiteve ModuleManager, copied modules part2