smaller onChange impl
doc fixes