Added several more tests. Wrote some extra documentation