contract AccommodationCoin is owned, TokenERC20  {

  //Modify these variables
  uint256 _initialSupply=100000000; 
  string _tokenName="Accommodation Coin";  
  string _tokenSymbol="ACC";

  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 AccommodationCoin( ) TokenERC20(_initialSupply, _tokenName, _tokenSymbol) public {}

  /* Internal transfer, only can be called by this contract. */
  function _transfer(address _from, address _to, uint _value) internal {
    require (_to != 0x0);                               // Prevent transfer to 0x0 address. Use burn() instead
    require(!frozenAccount[_from]);                     // Check if sender is frozen
    require(!frozenAccount[_to]);                       // Check if recipient is frozen
    balanceOf[_from] = balanceOf[_from].sub(_value);                         // Subtract from the sender
    balanceOf[_to] = balanceOf[_to].add(_value);                           // Add the same to the recipient
    emit Transfer(_from, _to, _value);
  }

  /// function to create more coins and send it to `target`
  /// @param target Address to receive the tokens
  /// @param mintedAmount the amount of tokens it will receive
  function mintToken(address target, uint256 mintedAmount) onlyOwner public {
    balanceOf[target] = balanceOf[target].add(mintedAmount);
    totalSupply = totalSupply.add(mintedAmount);
    emit Transfer(0, this, mintedAmount);
    emit Transfer(this, target, mintedAmount);
  }

  function freezeAccount(address target, bool freeze) onlyOwner public {
    frozenAccount[target] = freeze;
    emit FrozenFunds(target, freeze);
  }



}
/******************************************/
function AccommodationCoin( ) TokenERC20(_initialSupply, _tokenName, _tokenSymbol) public {}
/* Initializes contract with initial supply tokens to the creator of the contract */