revise main.cpp