add withConnection