[add] main function