refactor branch
implemented cart
made lots of changes