further refactoring - move ip cache to annotations