algorithm init update