Groups and group theory