Refactored modules and namespacing.