cleaned up the client interface