fixed onchange referencing previous callback
merged