(Somewhat twonky) additions to providers; chaining and caching