Added nearest neighbor hueristic. currently broken end condition