why the empty dictionary instead of `nil`?