switched function providers to be loaded via reflection