added viewcart, and adjusted for empty cart