loop -> join