why add this listener?