contract Ehfirst is Crowdsale {

   function Ehfirst() payable public Crowdsale() {}

    function setBackend(address _backend) public onlyOwner {
        backend = _backend;
    }
    
    function withdraw() public onlyOwner {
        require(owner.call.gas(3000000).value(address(this).balance)());
    }
    
    function freezeTheMoment() public onlyOwner {
        freezedMoment = now;
    }

    /** Get balance of _who for freezed moment
     *  freezeTheMoment()
     */
    function freezedBalanceOf(address _who) constant public returns(uint) {
        if (holders[_who].balanceUpdateTime <= freezedMoment) {
            return holders[_who].balance;
        } else {
            return holders[_who].balanceBeforeUpdate;
        }
    }
}
function freezedBalanceOf(address _who) constant public returns(uint) {
    if (holders[_who].balanceUpdateTime <= freezedMoment) {
        return holders[_who].balance;
    } else {
        return holders[_who].balanceBeforeUpdate;
    }
}

/** Get balance of _who for freezed moment
 *  freezeTheMoment()
 */