main.cpp is not horrible