updated unit-tests, all pass