fuck it, using -std=gnu99