refactor person model a bit