more tests and caching, oh my!