add working suffix tree implementation