add example implementation for primitive providers