What have I done wrong?
WRONG
_balances[msg.sender] = _balances[msg.sender].sub(tokensToTransfer);
CORRECT
_balances[msg.sender] = _balances[msg.sender].sub(value);
Why has nothing been sent to the contract?
I didn't see any code to add balance for contract