S_* functions should be STATIC