add optimization tools