added a multistep method