modify crit logic