path dispatch