to make it gcc compatible