Update with vignette and more error checking.