cleanup
update tests, this commit is incomplete.