Modern algebra with applications - Gilbert, William J (2005)