add pso to alg factory