Refactor project model

-92 lines in project model, do I need to say more :P