Help with my pathing using %the, %bucket and $first_artist

So, my goal is to get the %the plugin working with a special item field that removes any additional artists from the path to canonicalize my collection, as well as put them in a bucket. So far, I can do 2 of these 3, basically in any configuration, but I can’t do them all. Here are the key parts of the code I’ve tried on a fresh install to try and sort it out, but nothing seems to get what I want. optimally I would want this import/result solution

Importing an album with albumartist “2Pac + The Outlaws”
My hopeful Result :/music/0-9/2Pac/Albums/Album Name/Title.flac
My actual results: /music/#-!/$first_artist/Still I Rise$/Title.flac

Unfortunately when I have all three together, i start to get things messed up with the output folder showing code and not the appropriate metadata. I only need the $first_title to strip any of the &'s, commas, featuring, etc, but I suppose I could just add a TON of %substitute options. I was hoping I’d only need the substitute for a small percentage of those that should not get picked up by my current setup (e.g. Earth, Wind, & Fire).
Is there something I’m missing or do I just have too many dependencies in a row? Or is there a possibly simpler route to take? Appreciate all your help guys!

    disc_and_track: u'%i.%02i' % (disc, track) if disctotal > 1 else u'%02i.' % (track)
    first_artist: |
        import re
        return re.split(',|\s+(feat(.?|uring)|&|(Vs|Ft).)', albumartist, 1, flags=re.IGNORECASE)[0]

    .*2pac.*: 2Pac

    a: yes
    the: yes

  - '#-!'
  - '0-9'
  - 'A'
  - 'B'
  - 'C'
  - 'D'
  - 'E'
  - 'F'
  - 'G'
  - 'H'
  - 'I'
  - 'J'
  - 'K'
  - 'L'
  - 'M'
  - 'N'
  - 'O'
  - 'P'
  - 'Q'
  - 'R'
  - 'S'
  - 'T'
  - 'U'
  - 'V'
  - 'W'
  - 'X'
  - 'Y'
  - 'Z'
    '#-!': ^[^0-9a-zA-ZåÅäÄöÖ]
  bucket_year: []
  extrapolate: no

    default: %bucket{%the{$albumartist}}/%substitute{%the{$first_artist}}/Albums/$album%aunique{}/$disc_and_track $title```

I know I’ve given next to zero chance for anyone to help; chances are I’m going to just use the %substitute command with a bunch of exceptions as it’s the path of least resistance and it doesn’t do any edits to tags like rewrite: does. But if anyone does have a solution for all three of these I’m still all ears :smiley: