add route caching