Now we are going to allow our dwarf to run when the user presses shift and w.
    // Add this as a member variable
    const float RUN_SPEED = .5f;
    // Add this to the "else if (state == "walk")" block in UpdateState
    if (keyState.IsKeyDown(Keys.LeftShift) && keyState.IsKeyDown(Keys.W))
    {
        blendFactor = 0;
        state = "walkToRun";
        run.SpeedFactor = 0;
    }

    // Add this to the UpdateState method
    else if (state == "walkToRun")
    {
        blendFactor += .05f;
        if (blendFactor >= 1)
        {
            blendFactor = 1;
            run.SpeedFactor = 1;
            state = "run";
        }
        double factor = (double)walk.ElapsedTime / walk.AnimationSource.Duration;
        run.ElapsedTime = (long)(factor * run.AnimationSource.Duration);
        currentSpeed = WALK_SPEED+ blendFactor * (RUN_SPEED-WALK_SPEED);
        foreach (BonePose p in poses)
        {
            p.CurrentController = walk;
            p.CurrentBlendController = run;
            p.BlendFactor = blendFactor;
        }
    }
    else if (state == "run")
    {
        currentSpeed = RUN_SPEED;
        if (keyState.IsKeyUp(Keys.LeftShift))
        {
            blendFactor = 0;
            state = "runToWalk";
            walk.SpeedFactor = 0;
        }
        foreach (BonePose p in poses)
        {
            p.CurrentController = run;
            p.CurrentBlendController = null;
        }
    }
    else if (state == "runToWalk")
    {
        blendFactor += .05f;
        if (blendFactor >= 1)
        {
            blendFactor = 1;
            walk.SpeedFactor = 1;
            state = "walk";
        }
        double factor = (double)run.ElapsedTime / run.AnimationSource.Duration;
        walk.ElapsedTime = (long)(factor * walk.AnimationSource.Duration);
        currentSpeed = WALK_SPEED + (1f - blendFactor) * (RUN_SPEED - WALK_SPEED);
        foreach (BonePose p in poses)
        {
            p.CurrentController = run;
            p.CurrentBlendController= walk;
            p.BlendFactor = blendFactor;
        }
    }