Fixing pool, throwing exceptions correctly, not setting config value unless needed