project setup and code cleanup