Code refactor; more tests pass
Code refactors; API changes