use connection_refactor branch