Fixing the delegateOrElse signature
Added more delegation cases