Refactoring of the project, initial work on the Builder