added alternative pso implementation, added license