Refactored project structure into multiple modules