add template stream based async update, as well as wip on pooling