Refactor project structure for better encapsulation
Refactor project structure for better encapsulation