added: add and edit method