some optimizing of listeners to speed things up