restore futures, break futures demo into separate demos