add a constructor to allow periodically cleanup idle connections