I need a data structure with both named column and row. For example:

```
magic_data_table:

        col_foo col_bar
row_foo    1       3 
row_bar    2       4

```

I need to be able to access elements like `magic_data_table["row_foo", "col_bar"]` (which will give me `3`)

I also need to be able to add new columns like:

```
magic_data_table.Columns.Add("col_new");
magic_data_table["row_foo", "col_new"] = 5;

```

AFAIK, DataTable only has named column...

EDIT:
I don't need to change the name of a column or a row. However, I may need to insert new *rows* into the middle of the table.