started modifying abstract update function to work with users AND groups