abstract planning