added support for a __repr__ magic method