Simulated Annealing added