Abstract algebra : structure and application - Finston, David (Springer, 2014)