added new cart functionality