edit algorithm 1