make isRoot false when not true (rather than undefined)
add conflict checking to sync