use init_before_main to initialize