function confirmRequest(uint id) public onlyOwner {
        require(id < requests.length);
        assert(requests[id].isConfirmed == 0);

        uint tokensConfirmed = 0;
        for (uint i = 0; i < requests[id].ownersConfirm.length; i++) {
            assert(requests[id].ownersConfirm[i] != msg.sender);
            tokensConfirmed += token.balanceOf(requests[id].ownersConfirm[i]);
        }

        requests[id].ownersConfirm.push(msg.sender);
        tokensConfirmed += token.balanceOf(msg.sender);

        uint tokensInOwners = 0;
        for (i = 0; i < owners.length; i++) {
            tokensInOwners += token.balanceOf(owners[i]);
        }

        if (tokensConfirmed > tokensInOwners / 2) {
            if (requests[id].rType == 4) {
                walletPercentage = requests[id].percentage;

            } else {
                if (!inList[requests[id].beneficiary]) {
                    if (requests[id].rType == 0) {
                        owners.push(requests[id].beneficiary);
                        token.transfer(creator, requests[id].tokensAmount / 10);
                    }
                    if (requests[id].rType == 1) {
                        teams.push(requests[id].beneficiary);
                    }
                    if (requests[id].rType == 2 || requests[id].rType == 3) {
                        investors.push(requests[id].beneficiary);
                    }
                    inList[requests[id].beneficiary] = true;
                }

                if (requests[id].rType == 2) {
                    assert(wallet.send(requests[id].ethAmount));
                }

                token.transfer(requests[id].beneficiary, requests[id].tokensAmount);
                tokensInUse += requests[id].tokensAmount;
            }

            requests[id].isConfirmed = 2;
            emit RequestConfirmed(id);
        }
    }