    function approveAndCall(address _spender, uint256 _value, bytes memory _extraData)
    public
    returns(bool success) {
        if (approve(_spender, _value)) {
            _spender.call(abi.encodeWithSelector(bytes4(keccak256("receiveApproval(address,uint256,address,bytes)")),msg.sender, _value, this, _extraData));
             return true;
        }
        else
            return false;
    }