finished all methods, wrote some more tests