outline for how the main file works