unify default value null and using shallow copy