simpler variant isn't better, just easier to compute