New interfaces IProvider

Issue #12