Finalized the API, started the implementation