Improve error messages and get parsing errors into the data struct
Make the produced binary smaller