#2 added tests.