Added __repr__ and NotImplementerError raises