added extra precision option (still not being used)