added GetOrDefault method