minor improvements, added client.py