refactored parts of Contact to improve deletion/updating