Updated factory to Try and eliminated IEnumerable