Add cart system

It closes #90