copy deeply and recursively.