tidy up
modify TreeNode to use checkChar approach
sort of working...
working, unoptimized