edit, add and delete property