parses properly, figuring out data structures and relationships