made most models 'smart' with listeners