refactor Project model & test