partial main