use OrderedDict to simplify StructBlock
use OrderedDict to simplify StreamBlock