implemented simple client