Smooth functions for #4