switched to doubles from floats for time values since float wasn't supporting high enough numbers