add spinner to waiting event, add error event