rochester corrections v2 (don't compile out of box)
pass parameters to avoid duplicating functions