support to invoke main