Much more work on the new API structure