Fresh start
Reimplement
Merge pull request #1 from peterbourgon/v2

V2