with addition and delete