disconnect! should be public