merge with pso branch for process improvement