more work on API