generalized join
removed join, used intercalate instead