change all IMain to SparkIMain, but users are still required to set master manually to submit