AVL table by Joep van Lieshout