new tree datatype