algorithm update