Merge pull request #39 from colincross/parse

Refactor parsing to allow reuse