implemented update triggers