wip
update cause logic