added memory cache, complex route