more work on the API types