Implemented the client interface specified in the project documentation. Added sanity checks for keys and values. Added better testing for the client using the unittest framework.