root node allows null
compatibility mode fixed
Merge remote-tracking branch 'origin/oop-refact' into oop-refact