correct integration on client; improve futures on server