implement client, unit tests