#187 fix: Add a check to prevent the user from adding two dimensions with the same name

This is suggested fix for issue #187.

I have a question here,,, there are two error messages with the same content,
what do you think is the best practice for such case. I thought of creating exception class
for that but I'm not sure if this is the right way to go
```
class DimensionNameError(Exception):
    def __str__(self):
        return "the specific message that could include args"
```