Add Precise timing function