added documentation
pulled in unit tests