ENH: add cross_join operation