Implementation of Client API