huge update to have linear approximation and use direct exponential
adding in a flag to use approximation or not
introduced the linear approximation now