refacted the data mapper, person gateway, and person class