added tests with 100% coverage