Restructured the whole project