avoid multiple main function