designing client.py