working on semigroup page