add smartoptimizer