add tree (with parent pointer) definition source