<List> wont generate correctly

I have this code that is supposed to Load all the gameobjects in the resource folder into an array, parse the information and then generate a List of objects from it.

The problem is when i try to loop through the array to create a List of objects (building types). The array hold the correct data, but the final List just has the final Object in each in every member of the List.

For example the List is supposed to come out like

a b c d

but instead it comes out like

d d d d

I hope this all makes since, here is my code, Ive been looking over it for 3 days now and i just cant come up with anything, I hope someone can help

here is the building type class just for your reference

    public class Building : System.Object 

{ public GameObject buildingModel; public string buildingName; public int buildingIndex; public Material buildingTexture; public Texture buildingIcon;

}

but here is the actual code that I cant seem to get working correctly

    public void LoadFilesIntoArray()
{

    Building building = new Building();

    Object[] buildingList = Resources.LoadAll(datasetName,typeof(GameObject)); //these fbx objects must be collasped to single mesh to work properly

    for(int i = 0; i < buildingList.Length; i++)
    {
        building.buildingModel = buildingList *as GameObject;*
 _building.buildingName = buildingList*.name as string;*_
 _*building.buildingTexture = building.buildingModel.renderer.material; //save the initial material*_
 _*buildingPallete.Add(building);*_
 _*}*_ 
_*}*_
_*void OnGUI()*_
_*{*_
 _*foreach(Building b in buildingPallete)*_
 _*{*_
 _*Debug.Log(b.buildingName);*_
 _*}*_
_*}*_
_*```*_

Put

Building building = new Building();

inside the for loop.