add special functions.