slightly more accurate timing