private static User deserialize(String serialized) {
		User user = new User();
		
		int start = serialized.indexOf("name:");
		int end = serialized.indexOf(",", start + 5);
		user.setName(serialized.substring(start + 5 ,end));
		Logger.log("reading user's name: \"" + user.name + "\"");
				
		start = serialized.indexOf("id:");
		end = serialized.indexOf(",", start + 3 );
		user.setId(Integer.parseInt(serialized.substring(start + 3,end)));
		Logger.log("reading user's id: \"" + user.id + "\"");
		
		start = serialized.indexOf("kanjis:{");
		end = serialized.indexOf("}", start + 8);
		Logger.log("reading user's serialized kanjisList: \"" + serialized.substring(start + 8, end) + "\"");
		String serializedKanjis = serialized.substring(start + 8, end);
		
		if(!serializedKanjis.isEmpty()) {
			for(String sKanji : serializedKanjis.split(",")) {
				String[] splittedKanji = sKanji.split(":");
				if(splittedKanji.length  == 2 ) {
					try {
						user.kanjis.put(
								(Dictionary.getInstance().queryKanjis(new Condition(Criterias.UCS, splittedKanji[0]))).get(0), 
								Double.parseDouble(splittedKanji[1])
								);
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		}
		
		return user;
	}