Hopefully finalized the API