introduce keyStroke class