Implements first version of cart (still lots of things to do ;))