refactored module.clj