s0 implementation