A First Course in Abstract Algebra: Rings, Groups and Fields, Second Edition