Decoupled some modules and changed class names