Ugly but using Futures