Massive refactor, maybe pattern, start of some functional ops