improved shopping error handling