Adds group functionality and variety of other changes