add simple subtype cache
add caching and make it clear on each refresh