adding all unit tests, updating example uniformity, docs and readme