added to_string() to hand and fixed interface bug (should deepcopy, not variable assign)