fix broadcast issue

added precomputation
refactor broadcast bricks
replace object with string matching
smarter precomputation