added two overloads for toString(~), and debugging code to let us know whenever new instances are being created (except for copies and moves)