Better io error handling when parsing
A few fixes; looks like it works identical to original core solver now