added cross product detect method