Currently, the code makes 5 contract calls to get all the information instead of just 1 subgraph call to get all information.