(WIP) Cdodge/shopping cart rewrite

can we use new style classes, please?