Refactore the module