Hi @genesis24,
I suggest looking at Points to consider when creating a fungible token (ERC20, ERC777) for an example issue for a fee on transfer token.
I noticed that you were using openzeppelin-solidity, you should change to use the current name, @openzeppelin/contracts. See: https://docs.openzeppelin.com/contracts/3.x/#overview