@Override
	public void execute(String[] input) {
		if (input.length < 2) {
			laura.print("You need to give me a word to define.");
			return;
		}
		
		StringBuilder sb = new StringBuilder();
		for (int i=1; i<input.length; i++) {
			sb.append(input[i]);
		}
		String query = sb.toString();
		
		WordApi api = new WordApi();
		api.getInvoker().addDefaultHeader("api_key", API_KEY);
		try {
			List<Definition> definitions = api.getDefinitions(
					query,
					null, //partOfSpeech, 
					null, //sourceDictionaries, 
					3, //limit, 
					"false", //includeRelated, 
					"false", //useCanonical, 
					"false" //includeTags
			);
			
			for (Definition def: definitions) {
				laura.print(query + ": (" + def.getPartOfSpeech() + ")");
				laura.print(def.getText());
			}
		} catch (ApiException e) {
			laura.print("Sorry, but I could not contact the definition server.");
			e.printStackTrace();
		}
		
	}