add the edit function