fixed return provider