changed shallowCopy