public byte[] processInput(byte[] data, FSServer fs) {
		this.fs = fs;
		byte[] result = "".getBytes();
		//this.filedata = Arrays.copyOfRange(data, 64, data.length);
		
		//need to get the first x bytes of data for the command
		this.command = new String(Arrays.copyOfRange(data, 0, 16)).trim();

		
		//System.out.println(command);
		//System.out.println(isFirst);
		//System.out.println(filename);
		if(command.trim().equals("put")) {
			result = new FileServerProtocol().processInput(data, fs);
		}
		else if(command.trim().equals("get") || command.trim().equals("getserv")) {
			result = new FileServerProtocol().processInput(data, fs);
		}
		else if(command.trim().equals("del")) {
			result = new FileServerProtocol().processInput(data, fs);
		}
		else if(command.trim().equals("reb") || command.trim().equals("find")) {
			result = new FileServerProtocol().processInput(data, fs);
		}
		else if(command.trim().equals("maple none")) {
			//if you are not the master just do what the master says
			//System.out.println("maple worker received");
			this.header = Arrays.copyOfRange(data, 0, 512);
			this.jarFile = new String(Arrays.copyOfRange(header, 16, 112)).trim();
			this.filename = new String(Arrays.copyOfRange(header, 112, 312)).trim();
			this.interFile = new String(Arrays.copyOfRange(header, 312, 512)).trim();
			LoggerThread lt = new LoggerThread(this.fs.getGs().getProcessId(), "#WORKER_MAPTASK_STARTED#" + this.filename);
			lt.start();	 
			//System.out.println(jarFile + filename + interFile);
			result = this.processMaple();
			lt = new LoggerThread(this.fs.getGs().getProcessId(), "#WORKER_MAPTASK_FINISHED#" + this.filename);
			lt.start();	 
		}
		else if(command.trim().equals("juice none")) {
			//if you are not the master just do what the master says
			this.header = Arrays.copyOfRange(data, 0, 512);
			this.jarFile = new String(Arrays.copyOfRange(header, 16, 112)).trim();
			this.filename = new String(Arrays.copyOfRange(header, 112, 312)).trim();
			this.interFile = new String(Arrays.copyOfRange(header, 312, 512)).trim();
			LoggerThread lt = new LoggerThread(this.fs.getGs().getProcessId(), "#WORKER_JUICETASK_STARTED#" + this.filename);
			lt.start();	 
			result = this.processJuice();
			lt = new LoggerThread(this.fs.getGs().getProcessId(), "#WORKER_JUICETASK_FINISHED#" + this.filename);
			lt.start();	 
		}
		
		return result;
	}