Algebra - Sepanski, Mark R. (American Mathematical Society, 2010)