#4 added tests