refactoring event listener