event and challenge logic added