to check: direct pass of b0 to vars, merge in new branch
fixed b0 passing to be fastest possible