change fetch to take options