Why do 2 contracts get deployed?

I'm working on a simple ERC-20 token. It's based on OpenZeppelin ERC20 smart contract.

When I deploy to Ropsten - it seems it creates 2 contracts? Is that expected?

Example:
Contract1: https://ropsten.etherscan.io/address/0x90c12d2abda69eee62c0094eb354babf15313eb5
Contract2: https://ropsten.etherscan.io/address/0xd90d2136b083d53070d733070ea0da69030fc005

No idea why there would be 2 contracts. You need to share more detail so we can understand.