use deep copy when merging options