add main function