function TocCheckCompatibilityWithOlderVersions(mod_data)
    -- Gets the old status and turns it into the new.

    if mod_data.TOC.Limbs == nil then
        print("TOC: Limbs is nil, resetting mod_data")
        TocMapOldDataToNew(mod_data)
    else
        print("TOC: Found compatible data")
    end

end

function TocMapOldDataToNew(mod_data)

    local map_names = {
        Right_Hand = "RightHand",
        Right_LowerArm = "RightForearm",
        Right_UpperArm = "RightArm",

        Left_Hand = "LeftHand",
        Left_LowerArm = "LeftForearm",
        Left_UpperArm = "LeftArm"
    }

    local old_names_table = { "RightHand", "RightForearm", "RightArm", "LeftHand", "LeftForearm", "LeftArm" }
    local new_names_table = { "Right_Hand", "Right_LowerArm", "Right_UpperArm", "Left_Hand", "Left_LowerArm",
        "Left_UpperArm" }
    print("TOC: Trying to backup old data")
    local backup_old_data = mod_data.TOC


    -- for _, v in ipairs(map_names) do
    --     print("TOC: Looping old names...")
    --     print(k)
    --     print(v)
    --     print(backup_old_data[v].is_cut)
    --     print("__________________")
    -- end




    TocResetEverything()
    -- For some reasons pairs does not work here...
    -- TODO ask why


    -- for k, v in pairs(map_names) do
    --     print("TOC: Looping...")

    --     print(k)
    --     print(v)
    --     print(backup_old_data[v].is_cut)
    --     print("__________________")



    --     local old_name = k
    --     local new_name = v

    --     mod_data.TOC.Limbs[new_name].is_cut = backup_old_data[old_name].is_cut

    --     if mod_data.TOC.Limbs[new_name].is_cut then
    --         local cloth = getPlayer():getInventory():AddItem(TocFindAmputatedClothingFromPartName(new_name))
    --         getPlayer():setWornItem(cloth:getBodyLocation(), cloth)
    --     end


    --     mod_data.TOC.Limbs[new_name].is_infected = backup_old_data[old_name].is_infected
    --     mod_data.TOC.Limbs[new_name].is_operated = backup_old_data[old_name].is_operated
    --     mod_data.TOC.Limbs[new_name].is_cicatrized = backup_old_data[old_name].is_cicatrized
    --     mod_data.TOC.Limbs[new_name].is_cauterized = backup_old_data[old_name].is_cauterized
    --     mod_data.TOC.Limbs[new_name].is_amputation_shown = backup_old_data[old_name].is_amputation_shown

    --     mod_data.TOC.Limbs[new_name].cicatrization_time =  backup_old_data[old_name].cicatrization_time


    -- end

    for i = 1, #new_names_table do
        print("TOC: Looping " .. i)
        print(backup_old_data[old_names_table[i]].is_cut)

        local old_name = old_names_table[i]
        local new_name = new_names_table[i]

        mod_data.TOC.Limbs[new_name].is_cut = backup_old_data[old_name].is_cut

        if mod_data.TOC.Limbs[new_name].is_cut then
            local cloth = getPlayer():getInventory():AddItem(TocFindAmputatedClothingFromPartName(new_name))
            getPlayer():setWornItem(cloth:getBodyLocation(), cloth)
        end


        mod_data.TOC.Limbs[new_name].is_infected = backup_old_data[old_name].is_infected
        mod_data.TOC.Limbs[new_name].is_operated = backup_old_data[old_name].is_operated
        mod_data.TOC.Limbs[new_name].is_cicatrized = backup_old_data[old_name].is_cicatrized
        mod_data.TOC.Limbs[new_name].is_cauterized = backup_old_data[old_name].is_cauterized
        mod_data.TOC.Limbs[new_name].is_amputation_shown = backup_old_data[old_name].is_amputation_shown

        mod_data.TOC.Limbs[new_name].cicatrization_time = backup_old_data[old_name].cicatrization_time


    end
    getPlayer():transmitModData()


end
