Revise to refactor