added 2-opt hueristic