Refactored listeners