Clean up and flesh out
Improve disconnects (not there yet)