The method needs to be split because it returns multiple types.
The method needs to be split because it returns multiple types.