Layed out the foundation of the API