updated the unit tests, but something doesn't quite work yet