abstract algebra notes