also gets nanosecs, DRYed up a bit