Initial commit
Working version, with examples, and docs