start on cartesian grid product class