added cartesian product