public static void getInitData()
    {
        //here be parser!!!
    	tiles = new TileType[WIDTH][HEIGHT];
    	for (int i = 0; i < WIDTH; i++)
    		for (int j = 0; j < HEIGHT; j++)
    			tiles[i][j] = TileType.EMPTY;

    	labels = new String[WIDTH][HEIGHT];
    	for (int i = 0; i < WIDTH; i++)
    		for (int j = 0; j < HEIGHT; j++)
    			labels[i][j] = "";

    	//drawLine from 2 to 62 with y=2
    	/*for (int i = 2; i < 60; i++)
    	{
    		tiles[i][2] = TileType.HORIZONTAL;
    	}   */
        //ArrayList<JSONElement> = Parser.getDipArray();
        //Parser parser("file.json");
        //int[] dipsCountArray  = parser.dipsCountArray();
        //int[] dipsXesArray = parser.dipsXesArray();

        //for (int i = 0; i < parser.dipsCount(); i++)
        //{
        //    dips = new Dip(parser.dipsCount[i])
        //}

        try
        {
            Object obj = parser.parse(new FileReader(".\\src\\general\\json.json"));

            JSONObject jsonObject = (JSONObject) obj;


            JSONArray dipsArray = (JSONArray) jsonObject.get("dips");
            dips = new Dip[dipsArray.size()];

            Iterator<JSONObject> iterator = dipsArray.iterator();

            while (iterator.hasNext())
            {
               JSONObject temp = iterator.next();
               Long pinCount = (Long) temp.get("pinCount");
               JSONObject position = (JSONObject)temp.get("position");
               Long coordX = (Long) position.get("x");
               Long coordY = (Long) position.get("y");
               dips[dipCount] = new Dip(pinCount.intValue(),coordX.intValue(),coordY.intValue());
               dips[dipCount].setName((String)temp.get("name"));
               dipCount++;
            }
            
            JSONArray wiresArray = (JSONArray) jsonObject.get("wires");
            wires = new Wire[wiresArray.size()];

            iterator = wiresArray.iterator();

            while (iterator.hasNext())
            {
               JSONObject temp = iterator.next();
               
               Pin[] argPins = new Pin[2];
               JSONObject pin1 = (JSONObject) temp.get("pin1");
               String dipName1 = (String) pin1.get("dip");
               Long pinNumber1 = (Long) pin1.get("pin");
               argPins[0] = getDipByName(dipName1).getPin(pinNumber1.intValue());
               JSONObject pin2 = (JSONObject) temp.get("pin2");
               String dipName2 = (String) pin2.get("dip");
               Long pinNumber2 = (Long) pin2.get("pin");
               argPins[1] = getDipByName(dipName2).getPin(pinNumber2.intValue());
               
               wires[wireCount] = new Wire(argPins, new PathCoordinatesTracer());
               wireCount++;
            }
            
            //declare array of pins, which should be connected by wire
            //wires = new Wire[2];
            //Pin[] argPins = new Pin[]{ dips[0].getPin(0), dips[3].getPin(11) };
            //wires[0] = new Wire(argPins, new PathCoordinatesTracer());
            
            
            //labels[5][9] = "8";
            
            //it fails to draw more that one wire
//            argPins = new Pin[]{ dips[2].getPin(7), dips[3].getPin(7) };
//            wires[1] = new Wire(argPins);
            

        } catch (FileNotFoundException e){
            e.printStackTrace();
        } catch (IOException e){
            e.printStackTrace();
        } catch (ParseException e){
            e.printStackTrace();
        }

    }