switched to std=gnu99 in order to utilize gnu extensions for linux