change our update algorithm