add code, examples, and update README