refactor project to a pure as project