add shell_out to base provider code