explicitly require OpenStruct