public void parseInstructions() {
		//start parsing the instructions and add them into the 
		//global queue
		try {
			BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(exeFile));
			//int offset = 0;
			byte[] readData = new byte[AppContext.INSRUCTION_LENGTH];
			while (bufferedInputStream.read(readData) != -1) {
				//offset += AppContext.INSRUCTION_LENGTH;

				//create a new Instruction object and add to queue
				InstructionType typeOfInstr = InstructionType.getInstructionType((readData[AppContext.INSRUCTION_LENGTH -1] & 0xFC) >> 2);
				Instruction instruction = InstructionFactory.getInstructionObj(typeOfInstr, readData);
				if (instruction != null) {
					InstructionQueue.getInstance().addToQueue(instruction);
					System.out.println("Added Instruction of " + typeOfInstr);
				}
			}

			bufferedInputStream.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("Exe parsing completed!");
	}