exported a main function