use future instead of task, since it can cause weird instrumentation loops