update shell to use new key selection logic