Semi group