WIP refactor.
WIP Refactor.
WIP Refactor
More WIP Resuffle.