Going to refactor.