use -O3 when compiling