more unit tests for quality-ness, add more polish to documentation