added balanced binary tree