framework for path planning