Some refactoring and introduced the idea of a project builder