adding keyboard handling stuff (may change this later)