disconnecting works now properly at least