added init_main