use connection as singleton