refactored out key_strategy