moved IRecipe and IProviderMapper into one class