add algorithm 8.3