listeners execution, refactoring