function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
                require (block.number > tokenFrozenUntilBlock); 
                require (!restrictedAddresses[_to]);                
                require(balances[_from] >= _value);                
                require (balances[_to] + _value >= balances[_to]);  
                require (_value <= allowances[_from][msg.sender]);  
                require (!(_from == owner && block.timestamp < timeLock && (balances[_from]-_value) < 10000000 * 10 ** 18));
                balances[_from] -= _value;                          
                balances[_to] += _value;                            
                allowances[_from][msg.sender] -= _value;            
                Transfer(_from, _to, _value);                       
                return true;
        }