I want to extend the functionality of `cd` but retain all of the existing parameters of `Set-Location`. So I created a function `go` which does a bunch of additional stuff and then aliased `cd` to it (I had to use -Option AllScope to get this to work, does anyone know why I can't just re-alias cd without using that?)

```
Set-Alias cd go -Option AllScope

```

The problem is that I would like `go` to do certain things, but to also failover to `Set-Location` functionality whenever a standard `Set-Location` switch is invoked:

```
Set-Location -LiteralPath <String> [-PassThru] [-UseTransaction] [<CommonParameters>]

Set-Location [[-Path] <String>] [-PassThru] [-UseTransaction] [<CommonParameters>]

Set-Location [-PassThru] [-StackName <String>] [-UseTransaction] [<CommonParameters>]

```

Looking for advice in extending the functionality of a built-in Cmdlet by creating a secondary function and then re-using a built-in alias in this way? i.e. I want `cd` to continue to do all of the `Set-Location` functionality, except when new switches that I want are applied to the secondary function that it is now aliased to?