complete all but algorithm