better add and edit