move some of the algo around, accurate for two steps, then fails