Fully refactoring of whole project