use providers, not definitions