Done Some Refactoring in prep for cleanup