listen for the change event instead