Undergraduate algebra - Lang, Serge (Springer books on elementary mathematics, 1990)