Refactored modules to have seperate properties for constructors