Contemporary Abstract Algebra By Gallian