project setup and main file