Added extra unit tests + added some documentation