fixed shits
added tests