change pathnode to abstract