use c99 standard