Cleaned up the read function, some of the parse returns are acting weirdly.