add most remaining refactor efforts