initial project setup and layout