not sure the precision parameter should be in the method signature