initial skeleton
add type and provider, taken from jessepetersen:
https://gist.github.com/jessepeterson/1230749

type already a bit tweaked.