new client API