Finite Semigroups And Universal Algebra by Jorge Almeida