add the single selection distributed algorithm