fix unprecise_now function