Support for Contact Groups
refactored code
refactored adding and removing a contact to a group