Initial commit. Cleaned up for release and added new features, docs, and examples