change floats to doubles and add fixed precision