ECDSA Generating incorrect address

Hi yall!

This is my verification function which doesn't resolve the correct public key for the private key I signed the message with. I passed in messageHash and signature from web3.eth.accounts.sign()

function verify(bytes32 _hash, bytes memory _signature)
    public
    view
    returns (address)
  {
    return _hash.toEthSignedMessageHash().recover(_signature);
  }

This is the function I'm using to generate the signature

web3.eth.accounts.sign(message,PK)

any ideas? I tried to use rsv but it's not working