modulified it all; and tests\!