more work on the api