flesh out listener a bit