unit tests in place for almost all methods