remove URL requirement and add more caching