add vdefault function; fixes #5
Merge branch 'experimental'