support undefined values in copy!