added expFunction()