add add/del/save function