fixed nonGCC compilation