added tests
added few tests / added real huge amount of doc blocks