cart variations

not complete but working so far