revised for listen