#3 removed old type provider prototype