always copy when commit