function list_frozen_accounts(uint _max_num_of_items_to_display) public view
      returns (uint _num,address[] _frozen_holders,uint[] _whens){
      uint len = holders_frozen.length;
      uint num_of_frozen_holders = 0;
      if(_max_num_of_items_to_display==0) _max_num_of_items_to_display=1;
      for (uint i = len-1 ; i >= 0 ; i--) {
         
         if( account_frozen_time[ holders_frozen[i] ] > 0x0) num_of_frozen_holders++;
         if(_max_num_of_items_to_display == num_of_frozen_holders) break;
      }
      _frozen_holders = new address[](num_of_frozen_holders);
      _whens = new uint[](num_of_frozen_holders);
      _num=0;
      for (uint j = len-1 ; j >= 0 && num_of_frozen_holders > _num ; j--) {
         address addr= holders_frozen[j];
         uint256 when= account_frozen_time[ addr ];
         if( when == 0x0) continue; 
         _frozen_holders[_num]= addr;
         _whens[_num]= when;
         _num++;
      }
    }