main project setup