added binary tree implementation (might have bugs)