added tests and requirements revised
added tests and requirements revised