add backward simulation