Refactored using getBalancedIndices(), added getAllKeys() and getAllData()
Demo renaming and automate generation of DOT files
Improved performance by moving key to its own field