contract SDAD is SDADI, DAO {
	
  uint public initialSupply = 10 * 10**6; // 10 million tokens
  uint public decimals = 8;

  string public name;
  string public symbol;

  /** Name and symbol were updated. */
  event UpdatedTokenInformation(string _name, string _symbol);

  /** Period were updated. */
  event UpdatedPeriod(uint _period);

  constructor(string _name, string _symbol, uint _start, uint _period, address _dexowner) public {
    name = _name;
    symbol = _symbol;
    start = _start;
    period = _period;

    totalSupply_ = initialSupply*10**decimals;

    // creating initial tokens
    balances[_dexowner] = totalSupply_;    
    emit Transfer(0x0, _dexowner, balances[_dexowner]);

    ownersIndex[_dexowner] = true;
    owners.push(_dexowner);

    ChangeOverPeriod[_dexowner][1] = int256(balances[_dexowner]);

    // set voting rules
    // _minimumQuorum = 50%
    // _requisiteMajority = 25%
    // _debatingPeriodDuration = 1 day
    changeVotingRules(safePerc(totalSupply_, 5000), 1440, safePerc(totalSupply_, 2500));

    // add ETH
    tokens.push(address(0));
    tokensIndex[address(0)] = tokens.length-1;
  } 

  /**
  * Owner can update token information here.
  *
  * It is often useful to conceal the actual token association, until
  * the token operations, like central issuance or reissuance have been completed.
  *
  * This function allows the token owner to rename the token after the operations
  * have been completed and then point the audience to use the token contract.
  */
  function setTokenInformation(string _name, string _symbol) public onlyOwner {
    name = _name;
    symbol = _symbol;
    emit UpdatedTokenInformation(_name, _symbol);
  }

  /**
  * Owner can change period
  *
  */
  function setPeriod(uint _period) public onlyOwner {
    period = _period;
    emit UpdatedPeriod(_period);    
  }

  /**
  * set owner to self
  *
  */
  function setOwnerToSelf() public onlyOwner {
    owner = address(this);
    emit OwnershipTransferred(msg.sender, address(this));
  }
}
/**
 * @title SDAD - ERC20 Token based on ERC20Base, DAO, Dividends smart contracts
 */
function setTokenInformation(string _name, string _symbol) public onlyOwner {
    name = _name;
    symbol = _symbol;
    emit UpdatedTokenInformation(_name, _symbol);
  }
/**
 * Owner can update token information here.
 *
 * It is often useful to conceal the actual token association, until
 * the token operations, like central issuance or reissuance have been completed.
 *
 * This function allows the token owner to rename the token after the operations
 * have been completed and then point the audience to use the token contract.
 */