wip: refactor futures