split swap join