There's a lot of redundancy in call data, especially when the same value appears over and over. There should be a 'cache' in the data which is a list of strings, and the node_values data structure should contain no strings but only integers pointing to items in the cache.