WIP Join/disconnect -> refactor