big refactoring on project structure.