Added proxy person and fixed failing unit tests
refactored the rest of the test cases