passing tests, closes #33