all functions other than lowess should have leading underscore