finished implementing Python client