.
changed listen return an empty list instead of None of failure