renaming template parameters
+ PathAlgorithm::node_type
merge