Move proc and shell
Variadic arguments
Support ExtendedDefaultRules