start to implement shopping cart
some refactoring for using UoW