general framework for planning