Full review (do not merge)

You are parsing a file that you load from a disk without any validation -- I don't think the file guaranteed to have any of the fields you expect...