Now the program compiles with almost no warnings.