basic working read/write api client