revise the main.cpp