Semigroups and their applications by