Version 1.2: * support multiple backward steps. Thanks to Chenxiong Qi