function allocateReserveCompanyTokens() {
        require(msg.sender==founder);
        uint tokens = 0;

        if(block.timestamp > month6companyUnlock && !allocated6Months)
        {
            allocated6Months = true;
            tokens = safeDiv(totalTokensCompany, 4);
            balances[founder] = safeAdd(balances[founder], tokens);
            totalSupply = safeAdd(totalSupply, tokens);
        }
        else if(block.timestamp > month12companyUnlock && !allocated12Months)
        {
            allocated12Months = true;
            tokens = safeDiv(totalTokensCompany, 4);
            balances[founder] = safeAdd(balances[founder], tokens);
            totalSupply = safeAdd(totalSupply, tokens);
        }
        else if(block.timestamp > month18companyUnlock && !allocated18Months)
        {
            allocated18Months = true;
            tokens = safeDiv(totalTokensCompany, 4);
            balances[founder] = safeAdd(balances[founder], tokens);
            totalSupply = safeAdd(totalSupply, tokens);
        }
        else if(block.timestamp > month24companyUnlock && !allocated24Months)
        {
            allocated24Months = true;
            tokens = safeDiv(totalTokensCompany, 4);
            balances[founder] = safeAdd(balances[founder], tokens);
            totalSupply = safeAdd(totalSupply, tokens);
        }
        else revert();

        AllocateTokens(msg.sender);
    }