private void handle_start(Message msg) {
		
		System.out.println("Handle start process cmd!");
		// response message prepared!
		Message response=new Message(msgType.RESPONSE);
		response.setResponseId(ResponseType.STARTRES);
		response.setProcessId(msg.getProcessId());
		response.setProcessName(msg.getProcessName());
		//start the process
		Class processClass;
		try {
			processClass = WorkerNode.class.getClassLoader().loadClass(
					msg.getProcessName());
		
			Constructor constructor;
			constructor = processClass.getConstructor(String[].class);
			System.out.println(msg.getArgs().length);
			Object[] passed = { msg.getArgs() };
			MigratableProcess process = (MigratableProcess) constructor.newInstance(passed);
			process.setProcessID(msg.getProcessId()); // method needed to be created in MigratableProcess
			System.out.println("run process");
			runProcess(process);
		}catch (ClassNotFoundException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("Class not Found!");
			sendToManager(response);
			return;
		}catch (NoSuchMethodException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("No such method!");
			sendToManager(response);
			return;
		} catch (SecurityException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("Security Exception!");
			sendToManager(response);
			return;
		} catch (InstantiationException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("Instantiation Exception!");
			sendToManager(response);
			return;
		} catch (IllegalAccessException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("Illegal Access !");
			sendToManager(response);
			return;
		} catch (IllegalArgumentException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("Illegal Argument!");
			sendToManager(response);
			return;
		} catch (InvocationTargetException e) {
			response.setResult(Message.msgResult.FAILURE);
			response.setCause("Invocation Target Exception!");
			sendToManager(response);
			return;
		}
		// send the response back to the master
		response.setResult(Message.msgResult.SUCCESS);
		sendToManager(response);
		System.out.println("Process has been started!");
	}