Contemporary abstract algebra - Gallian, Joseph A. (Autralia Cengage, 2018)