crossproduct added to swap join