Initial project setup and spec tests