added Keyboard input.

and some other stuff. to expand upon this later.