Organized things so that declarations come first, preprocessor directives next and definitions last.