deep clone v1 implemented