use gnu11 standard