extending the client