Rebased and include last of WK2 refactor.