Implement a bit more of the API