BROKEN this is very old for following unstable, its a mess, my new setup barely resembles it reference at your own risk I'll likely come back later with a new branch and yet another stupid "refactor"