a lot of changes, for better or worse =o(
more changes
changes per Jack's review
refactoring and corrections after peer review