use hstruct instead of ostruct