additional validation and scaffolding for cart