initial setup
keyboard input, rendering and message system