added exp function
merge conflict fixed