Reorganized, use consider-joining and join-ring