Refactor the progect