use deep extend when overwriting properties by overlay