add virtual and  [JsonIgnore] / remove [IgnoreDataMember] and sealed class