build with O3 for speed speed speed :)