refactoring project base