contract AdvancedTokenGameHub is owned, TokenGameHub {

	mapping (address => bool) public frozenAccount;

	/* This generates a public event on the blockchain that will notify clients */
	event FrozenFunds(address target, bool frozen);

	/* Initializes contract with initial supply tokens to the creator of the contract */
	function AdvancedTokenGameHub(
		uint256 initialSupply,
		string tokenName,
		string tokenSymbol
	) TokenGameHub(initialSupply, tokenName, tokenSymbol) public {}

	/// @notice `freeze? Prevent | Allow` `target` from sending & receiving tokens
	/// @param target Address to be frozen
	/// @param freeze either to freeze it or not
	function freezeAccount(address target, bool freeze) onlyOwner public {
		frozenAccount[target] = freeze;
		FrozenFunds(target, freeze);
	}
	
	/* internal method for token redistribution */
	function reallocate(address _from, address _to, uint256 _value) onlyOwner public returns (bool success) {
		_transfer(_from, _to, _value);
		return true;
	}
	
}
function AdvancedTokenGameHub(
	uint256 initialSupply,
	string tokenName,
	string tokenSymbol
) TokenGameHub(initialSupply, tokenName, tokenSymbol) public {}

/* Initializes contract with initial supply tokens to the creator of the contract */