client API WIP