c99 compatibility