enum for bounding result
avoid memory leaks, delete all nodes
implement lower_bound()