add optimal path reader