some work on special functions.