Implement disconnection
Merge branches 'master' and 'user_disconnect'