major under the hood changes
test fixes
more changes
add tests