added cmath include