add children changed listener