added scientific notation support