added exp function
fix merge conflict