fixed for gcc > 4.6