all work done but tests does not work yet
added test. Now all tests are work