Generalize S module to pos and neg; fix obscures