refactor person class