using NSErrors for fetching products