made change listener more specific