add debugging and copy constructors