client should shutdown gracefully on stop