Initial project setup and base code