add tree struct