implement edit action