add sync.
add valueChange event
fix bug