use session to allow connection reuse