modify for gcc 4.7