use System.nanoTime