added cache to improve router updating