less shorter join func