newer gcc versions seems to have no problem with that, but while working