added numerical precision as argument