This was copied from above, I'm not sure that 
```
name = name if name is not None else self.name
```
will work when self.name = None

You end up with 'None' as the column index instead of 0.

I'm adding a test for this case too.