Add cache, once fetch, change routing approach