added usage type precision and divide_by