OH GOD WHY
Created _branch function, refactored other functions. Debated whether I can sanely make my bang functions use _ as a prefix