100% original code, though the idea to try to make this came from the fact that @griffpatch made a tutorial. I figured that if he could design one, why can't I? I've checked, we both used very different methods.