everything compiles, runs, and outputs as it should