simplify cartesian() even more