seemingly working reduction rules