refactor person out into partial