A sketch of the API