modified:   getkey