refactor project dependence