semigroup source