chugging along with the client implementation