Everything rewritten to separate parsing and conversion into a shared library