Added docs, tests, and examples