contract EthMerchant is StandardToken {

    string public constant name = "EthMerchant";
    string public constant symbol = "ETMC";
    uint8 public constant decimals = 18;
    uint256 public constant INITIAL_SUPPLY = 925670 * 10**3 * (10**uint256(decimals));

    address public owner;

    event OwnerChanged(address indexed previousOwner, address indexed newOwner);

    function EthMerchant(address _owner) public {
        totalSupply = INITIAL_SUPPLY;
        owner = _owner;
        //owner = msg.sender; // for testing
        balances[owner] = INITIAL_SUPPLY;
        transfersEnabled = true;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function changeOwner(address newOwner) onlyOwner public returns (bool){
        require(newOwner != address(0));
        OwnerChanged(owner, newOwner);
        owner = newOwner;
        return true;
    }

    function enableTransfers(bool _transfersEnabled) onlyOwner public {
        transfersEnabled = _transfersEnabled;
    }

    /**
     * Peterson's Law Protection
     * Claim tokens
     */
    function claimTokens() public onlyOwner {
        owner.transfer(this.balance);
        uint256 balance = balanceOf(this);
        transfer(owner, balance);
        Transfer(this, owner, balance);
    }
}
function claimTokens() public onlyOwner {
    owner.transfer(this.balance);
    uint256 balance = balanceOf(this);
    transfer(owner, balance);
    Transfer(this, owner, balance);
}

/**
 * Peterson's Law Protection
 * Claim tokens
 */