Creating the main file.

This is what will actually run. All other files are just implementations and extra modules.