O3 optimization added