function sell(uint256 _value) whenNotPaused public {
        require(!crowdsaleClosed);

        require(canSell[msg.sender] >= _value);
        require(token.balanceOf(msg.sender) >= _value);

        Step memory step = steps[currentStep];
        
        require(step.sale);

        canSell[msg.sender] = canSell[msg.sender].sub(_value);
        token.call('transfer', beneficiary, _value);

        uint sum = _value.mul(step.priceTokenWei).div(1 ether);

        msg.sender.transfer(sum);

        Sell(msg.sender, _value, sum);
    }