fixed issue with double onchange callback