Added most of the functionality of the client interface