Need Help Contract Compile errors, TypeError: Definition of base has to precede definition of derived contract

Hello guys, I'm new here and am 3 weeks old to writing smart contract coding. Can someone please help me with this compile error, TypeError: definition of base has to precede definition of derived contract -->,
ChatGPT4 can't seem to figure it out.

Installed Software
Writing using Visual Studio Code, and I have all packages installed, OpenZeppelin contracts included. I also have node-v18 and v20, python-3.11.3, Git-2,40,1-64-bit and all additional packages installed.

The Issue
I have created a base contract called BaseServices.sol to which all service contracts have the import statement.

ChatGPT4 states "The error "Definition of base has to precede definition of derived contract" usually occurs when the base contract is defined after the derived contract in the same file."

All the contracts related to base services are in the same file, in the contracts folder. The BaseService.sol contract is also in the contracts folder, and was created before creating the associated service contracts. Moving the files to the interfaces folder and redirecting the imports causes the same issue, so I have moved all related contract files back to the contracts folder.

here is the code snippet from the to contract files in the error message (spaces removed), and the error message I get from
PS D:\My Tokens\REIT-Tokens> npx hardhat compile

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
import "./BaseService.sol";
import "./RWANFT.sol";
contract PropertyInspectionService is BaseService, RWANFT {
RWANFT public rwaNFT;
mapping(uint256 => bool) public rwaIDToServiceAccepted;
uint256 public inspectorFeePercentage = 3;
uint256 public serviceChargePercentage = 2;
address payable public serviceFeesWallet;

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "./REITToken.sol";
import "./RWANFT.sol";
contract BaseService is ERC20 {
address public serviceTaxWallet;
uint256 public constant TAX_PERCENT = 2;
constructor(
string memory name,
string memory symbol,
address _serviceTaxWallet
) ERC20(name, symbol) {
serviceTaxWallet = _serviceTaxWallet;
}

PS D:\My Tokens\REIT-Tokens> npx hardhat compile
TypeError: Definition of base has to precede definition of derived contract
--> contracts/PropertyInspectionService.sol:8:39:
|
8 | contract PropertyInspectionService is BaseService, RWANFT {
| ^^^^^^^^^^^
Error HH600: Compilation failed

Solved my own problem using AI. :relieved: