multiple keys user-controllable