Listen to input rather than change