extracted cache and router