refactored event show