better ref listeners