Contemporary abstract algebra - Gallian Joseph A (1998)