special functions updates