reads and parses data into models correctly