Refactor final