fix disconnect not called