Major changes to project structure - modularizing