Added a bunch of improvements __repr__ methods and such