vectorise descent step