do
   local MyUnitIdTable = {
      'ume_l0301',
      'ume_b0401',
      'ume_a0401',
      'ume_a0101',
      'ume_s0301',
      'uma_a0201',
      'uma_l0301',
      'uma_b0401',
      'umr_s0401',
      'umr_l0301',
      'umr_l0201',
      'umr_a0301',
      'umr_s0301',
      'umr_s0201',
      'ume_s0201',
      'umr_s0302',
      'uma_s0201',
      'umr_l0302',
      'ume_s0302',
   }
   local oldFileNameFn = GetUnitIconFileNames
   
   local function IsMyUnit(blueprint)
      for i, v in MyUnitIdTable do
         if v == blueprint.Display.IconName then
            return true
         end
      end
      return false
   end
   
   function GetUnitIconFileNames(blueprint)
      if IsMyUnit(blueprint) then
          local iconName = "/Mods/TheSmithPack/icons/units/" .. blueprint.Display.IconName .. "_icon.dds"
          local upIconName = "/Mods/TheSmithPack/icons/units/" .. blueprint.Display.IconName .. "_build_btn_up.dds"
          local downIconName = "/Mods/TheSmithPack/icons/units/" .. blueprint.Display.IconName .. "_build_btn_down.dds"
          local overIconName = "/Mods/TheSmithPack/icons/units/" .. blueprint.Display.IconName .. "_build_btn_over.dds"
         
          if DiskGetFileInfo(iconName) == false then
            WARN('Blueprint icon for unit '.. blueprint.Display.IconName ..' could not be found, check your file path and icon names!')
              iconName = '/textures/ui/common/icons/units/default_icon.dds'
          end
         
          if DiskGetFileInfo(upIconName) == false then
              upIconName = iconName
          end

          if DiskGetFileInfo(downIconName) == false then
              downIconName = iconName
          end

          if DiskGetFileInfo(overIconName) == false then
              overIconName = iconName
          end
         
          return iconName, upIconName, downIconName, overIconName
      else
         return oldFileNameFn(blueprint)
      end
   end
end