ordered tree data structure