new functionality and tests
added tests