Stream Overload;Copy Constructor
 * clean TODO
 * Add one copy constructor
 * Add input stream overload