def METHOD_NAME(nw: NodeWrangler, base_hue):
    shift = uniform(.05, .1) * (-1) ** np.random.randint(2)
    subsurface_color = *colorsys.hsv_to_rgb(uniform(0, 1), uniform(0, 1), 1.), 1
    bright_color = *colorsys.hsv_to_rgb((base_hue + shift) % 1, uniform(.7, .9), .2), 1
    dark_color = *colorsys.hsv_to_rgb(base_hue, uniform(.5, .7), .1), 1
    light_color = *colorsys.hsv_to_rgb((base_hue + uniform(-.2, .2)) % 1, uniform(.2, .4), .4), 1
    specular = uniform(.25, .5)
    color = build_color_ramp(nw, nw.musgrave(uniform(10, 20)), [.0, .3, .7, 1.],
                             [dark_color, dark_color, bright_color, bright_color])
    color = nw.new_node(Nodes.MixRGB, [
        nw.build_float_curve(nw.musgrave(uniform(10, 20)), [(0, 1), (uniform(.3, .4), 0), (1, 0)]), color,
        light_color])
    noise_texture = nw.new_node(Nodes.NoiseTexture, input_kwargs={'Scale': 50})
    roughness = nw.build_float_curve(noise_texture, [(0, .5), (1, 1.)])
    subsurface_ratio = uniform(0, .05) if uniform(0, 1) > .5 else 0
    subsurface_radius = [uniform(.05, .2)] * 3
    bsdf = nw.new_node(Nodes.PrincipledBSDF, input_kwargs={
        'Base Color': color,
        'Roughness': roughness,
        'Specular': specular,
        'Subsurface': subsurface_ratio,
        'Subsurface Radius': subsurface_radius,
        'Subsurface Color': subsurface_color,
    })
    return bsdf