refactor person