public void HandleInput(GameTime gameTime, InputHelper inputHelper)
        {
            //Exit on escape
            if (inputHelper.KeyPressed(Keys.Escape))
            {
                System.Environment.Exit(1);
            }

            //change what we do based on gamestate
            switch (gameState)
            {
            // default
            default:
                gameState = GameState.MainMenu;
                break;

            // Menu - main menu
            case GameState.MainMenu:

                // make sure that you cannot select a non-existent option
                if (inputHelper.KeyPressed(Keys.Up) && MainMenu.currentItem > 0)
                {
                    MainMenu.currentItem--;
                }

                if (inputHelper.KeyPressed(Keys.Down) && MainMenu.currentItem < 3)
                {
                    MainMenu.currentItem++;
                }

                if (inputHelper.KeyPressed(Keys.Enter))
                {
                    MainMenu.OnAction();
                }

                break;

            // Menu - settings
            case GameState.Settings:

                //same here
                if (inputHelper.KeyPressed(Keys.Up) && SettingsMenu.currentItem > 0)
                {
                    SettingsMenu.currentItem--;
                }

                if (inputHelper.KeyPressed(Keys.Down) && SettingsMenu.currentItem < SettingsMenu.GetLength() - 1)
                {
                    SettingsMenu.currentItem++;
                }

                if (inputHelper.KeyPressed(Keys.Right))
                {
                    Settings.ChangeSetting(true, Settings.GetSetting(SettingsMenu.currentItem));
                }

                if (inputHelper.KeyPressed(Keys.Left))
                {
                    Settings.ChangeSetting(false, Settings.GetSetting(SettingsMenu.currentItem));
                }

                if (inputHelper.KeyPressed(Keys.Enter))
                {
                    SettingsMenu.OnAction();
                }

                break;

            // Menu - credits
            case GameState.Credits:
                if (inputHelper.KeyPressed(Keys.Enter))
                {
                    Credits.OnAction();
                }
                break;

            // Menu - controls
            case GameState.Controls:
                if (inputHelper.KeyPressed(Keys.Enter))
                {
                    Controls.OnAction();
                }
                break;

            // Menu - game over
            case GameState.GameOver:
                if (inputHelper.KeyPressed(Keys.Enter))
                {
                    GameOver.OnAction();
                }
                break;

            // The game
            case GameState.Running:
                game.HandleInput(gameTime, inputHelper);
                break;
            }
        }