work on the API