SMS: Contemporary abstract algebra