refactored tests\!
added more tests