Complete refactoring of the project.