gracefully handle client disconnects (fixes #82)