Text this: Techniques of semigruop theory /