compile using -O3