Abstract algebra - Garrett, Paul B (2008)