rework project setup to use setup generator stuffs