Adding semigroups
- Fixing a lot of typos