def instanceLoader(entityType, entityName):

    if entityType == "item":

        # check if item exists
        if itemCheck(entityName, "ITEMFOUND"):

            # open file where item is located
            with open(itemCheck(entityName, "ITEMLOCATION"), "r") as file:
                reader = csv.reader(file, delimiter=',')

                # search each row to find item
                for row in reader:
                    if row[0] == entityName:
                        # create, initialize, and return the item found
                        item = Item(entityName, row[1], row[2], row[3], row[4],
                                    row[5], row[6])
                        return item
        else:
            print("{} does not exist".format(entityName))
            sys.exit(2)

    # ensure csv file exists
    if os.path.isfile("entity_data/" + entityType + ".csv" == False):
        print(
            "{} data does not exist. Please restart and create a new {} data file."
            .format(entityType.capitalize(), entityType.capitalize()))
        sys.exit(3)

    with open("entity_data/" + entityType + ".csv", "r") as file:
        reader = csv.reader(file, delimiter=',')
        # search every first value until name is found
        for name in reader:
            if entityName == name[0]:
                # create a new entity with values found in csv file
                if entityType == "player":
                    # intialize a player with default values
                    # Class: Human, Weight: 100lbs Strength: 10, Endurance: 20, Agility: 20
                    player = Player(entityName, "Human", 100, 10, 20, 20)

                    # open up class types file and search for player's class
                    with open("entity_data/class_types.csv",
                              "r") as classTypeFile:
                        classReader = csv.reader(classTypeFile, delimiter=',')

                        for row in classReader:
                            # if class type (row[0]) is equal to player's class type (name[1])
                            if row[0] == name[1]:
                                player.classType = row[0]
                                # add items to players inventory
                                for item in row:
                                    if item != name[1] and itemCheck(
                                            item, "ITEMFOUND"):
                                        player.addItem(item)

                    # find item and apply it's stats to player
                    for item in range(player.inventorySize()):
                        print("Item: {}".format(player.getItem(item)))

                        # make sure item stored in inventory still exists
                        if itemCheck(player.getItem(item),
                                     "ITEMFOUND") == False:
                            return False

                        itemDirectory = itemCheck(player.getItem(item),
                                                  "ITEMLOCATION")

                        # open file where item is stored
                        with open(itemDirectory, "r") as itemFile:
                            itemReader = csv.reader(itemFile, delimiter=',')

                            # search for item name in the first string of every row
                            for row in itemReader:

                                if row[0] == player.getItem(item):
                                    # apply the rest of items stats that can be applied to player (weight, strength, endurance etc...)
                                    player.applyStats(row[3], row[4], row[5],
                                                      row[6])
                                    break
                            break

                    # return initialized player
                    return player

                elif entityType == "enemy":
                    with open("entity_data/enemy.csv") as file:
                        reader = csv.reader(file, delimiter=',')

                        for row in reader:
                            if row[0] == entityName:
                                # intialize an enemy with values found in row
                                enemy = Enemy(entityName, row[1], row[2])

                    # return initialized enemy
                    return enemy

                else:
                    print("Entity type does not exist.")
    return False