extended algo