Refactored module pattern again