new changes
added tests