now using Connection factory & use() spawns a new instance since that works with async promises