update s function