Major refactor... i shouldn’t do all this at once...
idk wtf this is...