cleaner syntax for the change listener