providers are implemented as differenet plugins