rename
less magical attempt
refactor and tests
scalar binding
forB