added a key param to all functions to allow passing in key along with keyname param
added a vignette, closes #8