add nanosecond support