The only reason I didn't give a 5 is because the majority of exercises proposed don't have a solution documented in the book. You get good at something by doing it. Therefore, a correction should be provided for every exercise. It was my second book covering abstract algebra. The first book I had explained better the concepts of groups but once you get the basics, this book is the one to master. This book is a little gem.