diff --git a/kotlinx-coroutines-core/pom.xml b/kotlinx-coroutines-core/pom.xml
index 6be5542..9bcb4e5 100644
--- a/kotlinx-coroutines-core/pom.xml
+++ b/kotlinx-coroutines-core/pom.xml
@@ -14,8 +14,22 @@
 
     <name>Kotlin coroutines core library</name>
 
+    <properties>
+        <kotlin.compiler.jdkHome>${env.JDK_16}</kotlin.compiler.jdkHome>
+    </properties>
+
     <build>
         <sourceDirectory>src/main/kotlin</sourceDirectory>
         <testSourceDirectory>src/test/kotlin</testSourceDirectory>
+
+        <plugins>
+            <plugin>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <forkMode>once</forkMode>
+                    <jvm>${env.JDK_16}/bin/java</jvm>
+                </configuration>
+            </plugin>
+        </plugins>
     </build>
 </project>
diff --git a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/CommonPool.kt b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/CommonPool.kt
index d91ac74..f023cf7 100644
--- a/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/CommonPool.kt
+++ b/kotlinx-coroutines-core/src/main/kotlin/kotlinx/coroutines/experimental/CommonPool.kt
@@ -2,15 +2,14 @@
 
 import java.util.concurrent.Executor
 import java.util.concurrent.Executors
-import java.util.concurrent.ForkJoinPool
 import java.util.concurrent.atomic.AtomicInteger
 import kotlin.coroutines.CoroutineContext
 
 /**
  * Represents common pool of shared threads as coroutine dispatcher for compute-intensive tasks.
- * It uses [ForkJoinPool] when available, which implements efficient work-stealing algorithm for its queues, so every
+ * It uses [java.util.concurrent.ForkJoinPool] when available, which implements efficient work-stealing algorithm for its queues, so every
  * coroutine resumption is dispatched as a separate task even when it already executes inside the pool.
- * When available, it wraps [ForkJoinPool.commonPool] and provides a similar shared pool where not.
+ * When available, it wraps `ForkJoinPool.commonPool` and provides a similar shared pool where not.
  */
 object CommonPool : CoroutineDispatcher() {
     private val pool: Executor = findPool()
diff --git a/kotlinx-coroutines-core/src/test/kotlin/examples/log.kt b/kotlinx-coroutines-core/src/test/kotlin/examples/log.kt
index 945473f..1f243e6 100644
--- a/kotlinx-coroutines-core/src/test/kotlin/examples/log.kt
+++ b/kotlinx-coroutines-core/src/test/kotlin/examples/log.kt
@@ -1,5 +1,6 @@
 package examples
 
-import java.time.Instant
+import java.text.SimpleDateFormat
+import java.util.*
 
-fun log(msg: String) = println("${Instant.now()} [${Thread.currentThread().name}] $msg")
\ No newline at end of file
+fun log(msg: String) = println("${SimpleDateFormat("YYYYMMdd-HHmmss.sss").format(Date())} [${Thread.currentThread().name}] $msg")
\ No newline at end of file
diff --git a/kotlinx-coroutines-javafx/src/test/kotlin/examples/FxExampleApp.kt b/kotlinx-coroutines-javafx/src/test/kotlin/examples/FxExampleApp.kt
index 5c2784c..f96ae0b 100644
--- a/kotlinx-coroutines-javafx/src/test/kotlin/examples/FxExampleApp.kt
+++ b/kotlinx-coroutines-javafx/src/test/kotlin/examples/FxExampleApp.kt
@@ -15,14 +15,14 @@
 import kotlinx.coroutines.experimental.delay
 import kotlinx.coroutines.experimental.javafx.JavaFx
 import kotlinx.coroutines.experimental.launch
-import java.time.Instant
+import java.text.SimpleDateFormat
 import java.util.*
 
 fun main(args: Array<String>) {
     Application.launch(FxTestApp::class.java, *args)
 }
 
-fun log(msg: String) = println("${Instant.now()} [${Thread.currentThread().name}] $msg")
+fun log(msg: String) = println("${SimpleDateFormat("YYYYMMdd-HHmmss.sss").format(Date())} [${Thread.currentThread().name}] $msg")
 
 class FxTestApp : Application() {
     val buttons = FlowPane().apply {
diff --git a/kotlinx-coroutines-jdk8/src/test/kotlin/examples/log.kt b/kotlinx-coroutines-jdk8/src/test/kotlin/examples/log.kt
index 945473f..1f243e6 100644
--- a/kotlinx-coroutines-jdk8/src/test/kotlin/examples/log.kt
+++ b/kotlinx-coroutines-jdk8/src/test/kotlin/examples/log.kt
@@ -1,5 +1,6 @@
 package examples
 
-import java.time.Instant
+import java.text.SimpleDateFormat
+import java.util.*
 
-fun log(msg: String) = println("${Instant.now()} [${Thread.currentThread().name}] $msg")
\ No newline at end of file
+fun log(msg: String) = println("${SimpleDateFormat("YYYYMMdd-HHmmss.sss").format(Date())} [${Thread.currentThread().name}] $msg")
\ No newline at end of file
diff --git a/kotlinx-coroutines-nio/src/test/kotlin/examples/log.kt b/kotlinx-coroutines-nio/src/test/kotlin/examples/log.kt
index 945473f..1f243e6 100644
--- a/kotlinx-coroutines-nio/src/test/kotlin/examples/log.kt
+++ b/kotlinx-coroutines-nio/src/test/kotlin/examples/log.kt
@@ -1,5 +1,6 @@
 package examples
 
-import java.time.Instant
+import java.text.SimpleDateFormat
+import java.util.*
 
-fun log(msg: String) = println("${Instant.now()} [${Thread.currentThread().name}] $msg")
\ No newline at end of file
+fun log(msg: String) = println("${SimpleDateFormat("YYYYMMdd-HHmmss.sss").format(Date())} [${Thread.currentThread().name}] $msg")
\ No newline at end of file
diff --git a/kotlinx-coroutines-swing/src/test/kotlin/examples/swing-example.kt b/kotlinx-coroutines-swing/src/test/kotlin/examples/swing-example.kt
index bd30a79..1f1dc2f 100644
--- a/kotlinx-coroutines-swing/src/test/kotlin/examples/swing-example.kt
+++ b/kotlinx-coroutines-swing/src/test/kotlin/examples/swing-example.kt
@@ -2,11 +2,12 @@
 
 import kotlinx.coroutines.experimental.runBlocking
 import kotlinx.coroutines.experimental.swing.Swing
-import java.time.Instant
+import java.text.SimpleDateFormat
+import java.util.*
 import java.util.concurrent.ForkJoinPool
 import kotlin.coroutines.suspendCoroutine
 
-fun log(msg: String) = println("${Instant.now()} [${Thread.currentThread().name}] $msg")
+fun log(msg: String) = println("${SimpleDateFormat("YYYYMMdd-HHmmss.sss").format(Date())} [${Thread.currentThread().name}] $msg")
 
 suspend fun makeRequest(): String {
     log("Making request...")
