modify and good for edit