I have Insert, Remove, RotateLeft, and RotateRight all tested and functioning. However, the Insert/Remove are derived from a Binary Search Tree. I'm really lost as to how to determine when and where to call the Rotate functions after my calls to Insert and Remove to make the tree balanced between -1 and 1. I read the wiki article but it didn't do much for me. What advice can you give on the topic or what recommended site can I visit for a nice concrete example?