start working on Semigroup and Monoid for SActive, and add Shifty class