Refactored the project a bit