add reduce alg