surface mutating