added keyHandling