parse or die (with a SIGSEGV)
better error handling..maybe