[changed] use `Object.assign` instead of `copyProperties`