add optimization component