simplify remove/join process; add tests