Stopped being stupid about reading data (separated reading and parsing logic)