@Override
	public String execute() throws Exception {
		if (!this.userService.verifyLeader(cid, this.userService.getCurrentUser().getUid()))
			return LOGIN;
		
		System.out.println("-------------------- cid:" + cid + " account:" + account + " oldJob:" + oldJob + " newJob:" + newJob + " -------------------- ");
		
		if (oldJob == null || newJob == null) {
			System.out.println("emptyShit");
			return "emptyShit";
		}
		
		int staffUid = userService.findUserByAccount(account).getUid();		// make it simple when refactor, like, "getUidByAccount()"
		// member -> publisher
		if (oldJob.equals("member") && newJob.equals("publisher")) {
			System.out.println("=====  member -> publisher  =====");
			// removed from member data first, then added to publisher data
			clubService.removeMember(cid, staffUid);		
			clubService.addPublisher(cid, staffUid);
			userService.updateUserClubJob(cid, staffUid, "publisher");
		}
		
		// publisher -> member
		else if (oldJob.equals("publisher") && newJob.equals("member")) {
			System.out.println("=====  publisher -> member  =====");
			// removed from publisher data first, then added to member data
			clubService.removePublisher(cid, staffUid);
			clubService.addMember(cid, staffUid);
			userService.updateUserClubJob(cid, staffUid, "member");
		}
		
		return SUCCESS;
	}