def load_grid_data(file_list, data_type="binary", sort=True, delim=" "):
    if not type(file_list) is list:
        file_list = [file_list]
    elif sort:
        file_list.sort(key=lambda f: int(re.sub("[^0-9]", "", f)))
    world_size = get_world_dimensions(file_list[0], delim)
    data = initialize_grid(world_size, [])
    for f in file_list:
        infile = open(f)
        lines = infile.readlines()
        for i in range(world_size[1]):
            lines[i] = lines[i].strip().split(delim)
            for j in range(world_size[0]):
                if data_type == "binary":
                    val = bin(int(lines[i][j]))
                elif data_type == "float":
                    val = float(lines[i][j])
                elif data_type == "int":
                    val = int(lines[i][j])
                elif data_type == "string":
                    val = str(lines[i][j])
                else:
                    print("Unsupported data_type passed to load_grid")
                    return
                data[i][j].append(val)
        infile.close()
    return data