Introduction To Abstract Algebra by Joe Moore & John Thomas Moore