private final boolean addWordPhrase(String phrase){
    	boolean isValid = true;
    	// recognize optional [e] or (e) and add both variants
    	int index = phrase.indexOf("[e]");
    	if (index > 0 && Character.isLetter(phrase.charAt(index-1))) {
    		for (int i = 0; i < 2; i++) {
        		addWordPhrase(phrase.substring(0, index) + (i==0?"e":"") + phrase.substring(index + 3));
			}
    	}
    	else {
	        String[] words = phrase.split( "(\\s|/|,|!)+" );
	        for( int i = 0; i < words.length; i++ ) {
	            String word = words[i];
	            if(word.length()>0){
	                if(super.isValidWord(word)){
	                    addWord(word);
	                }else{
	                    isValid = false;
	                }
	            }
	        }
    	}
        return isValid;
    }