Added search based optimizer and necessary interfaces