add test for disconnect (currently failing)
fix disconnect and tweak its test