1. reformat
2. remove error from interface
3. add nanosecond support