function _processBonus(address _beneficiary, uint256 _tokenAmount)internal {
		uint256 bonusTokens = bonusScheme.getBonusTokens(_tokenAmount); 
		if (balances[bonusScheme] < bonusTokens) { 
			bonusTokens = balances[bonusScheme];
		}
		if (bonusTokens > 0) { 
			balances[bonusScheme] = balances[bonusScheme].sub(bonusTokens);
			balances[_beneficiary] = balances[_beneficiary].add(bonusTokens);
			emit Transfer(address(bonusScheme), _beneficiary, bonusTokens);
			emit BonusSent(address(bonusScheme), _beneficiary, _tokenAmount, bonusTokens);
			tokensSold = tokensSold.add(bonusTokens); 
		}
	}