make dsn an array rather than a scalar ref