Algebra, rings and modules - Hazewinkel, Michiel (Springer, 2011)