add better errors
choose the cheapest three shipping options from each provider