handle_disconnect now has expected as agrument