add Semiring