optimize for gcc again