private void loadWordArrayFromZal(String fileName)
	{
		wordList = new ArrayList<String>();
		try
		{
			FileInputStream file = new FileInputStream(fileName);
			BufferedInputStream bis = new BufferedInputStream(file);

			int cnt = 0;
			Scanner sc = new Scanner(bis);
			System.out.println("Loading dictionary...");
			while (sc.hasNextLine())
			{
				// TODO - infinitive
				String cur = sc.nextLine();
				String[] el = cur.split(",");
				Long toAdd = 0L;
				for (int i = 2; i < el.length; i++)
				{
					try
					{
						if (el[i] != null && !el[i].isEmpty())
							toAdd = toAdd | MorphologicalFlags.DictToFlag.get(el[i]);

					} catch (NullPointerException npe)
					{
						System.out.println("shit happened");
					}
				}
				params.add(toAdd);
				wordList.add(el[0]);
				cnt++;
				if (cnt % 1000000 == 0)
					System.out.println(cnt + " words done");

			}

			sc.close();

			int left = extraWords = wordList.size() % 8;
			for (; left < 8 && left > 0; left++)
			{
				wordList.add("");
				params.add(0L);
			}

		} catch (FileNotFoundException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("Done");

	}