added O2 optimization level