Abstract Algebra, 2nd Edition