added keyup/keydown listener