Some basic design, adding the ordering and catelog classes