factored out b1 and b2