Now compiles with gnu99, and -Wall