this doesn't always compute 0 like you'd expect
this is something for the base calc, probably the toughest update i've worked on YET. the update's coming and it'll be a bit weird