exports.handler = async function(event, context) {
  if (!skill) {
    skill = Alexa.SkillBuilders.custom()
      .addRequestHandlers(
        CancelAndStopAndNoIntentHandler,
        YesIntentHandler,
        LaunchRequestHandler,
        HowToPronounceIntentHandler,
        HelpIntentHandler,
        SessionEndedRequestHandler
      )
      .addRequestInterceptors(
        SpellCheckerInitializationInterceptor,
        APLSupportVerificationInterceptor
      )
      .addResponseInterceptors(ResponseSanitizationInterceptor)
      .addErrorHandlers(ErrorHandler)
      .create();
  }

  return skill.invoke(event, context);
};
  } else {
    outputText = 'Here are the events you requested. ';
    events.forEach( event => {
      outputText += `At ${moment(event.start).tz(timeZoneId).format('hh:mm a')}. The title is: ${event.title}. <break strength="strong"/>`;
    });
  }
  return handlerInput.responseBuilder
    .speak(outputText + ' What else can I help you with?')
    .reprompt('What else can I help you with?')
    .getResponse();
};

//
// ALEXA SKILL LAMBDA
//
exports.handler = Alexa.SkillBuilders.standard()
  .addRequestHandlers(
    LaunchRequestHandler,
    ReadCalendarHandler,
    SearchCalendarHandler,
    CreateCalendarEventHandler,
    NextAssignmentHandler,
    OpenCourseHandler,
    CurrentActiveCourseHandler,
    CurrentGradeHandler,
    ShowBellCurveHandler,
    PublishBellCurveHandler,
    SwitchUserHandler,
    HelpIntentHandler,
    RepeatHandler,
    ExitHandler,