public TipoPalabra detect(String word) {

        TipoPalabra tipo = null;

        String[] silabas = syl.split(word).split("-");

        // we look for an acute
        for (int i = silabas.length - 1; i >= 0; i--) {
            matcher = paccents.matcher(silabas[i]);

            if (matcher.find()) {
                int n = silabas.length - i;
                switch (n) {
                    case 1:
                        tipo = TipoPalabra.AGUDA;
                        break;
                    case 2:
                        tipo = TipoPalabra.LLANA;
                        break;
                    default:
                        tipo = TipoPalabra.ESDRUJULA;
                        break;
                }
                break;
            }
        }

        if (tipo == null) {
            // we try do decide if it's AGUDA or LLANA

            if (syl.countSyllables(syl.split(word)) == 1) {
                tipo = TipoPalabra.AGUDA;
            } else {

                int i = word.length() - 1;
                char c = word.charAt(i);

                matcher = plastchar.matcher("" + c);

                if (matcher.find()) {
                    tipo = TipoPalabra.LLANA;
                } else {
                    tipo = TipoPalabra.AGUDA;
                }
            }
        }

        return tipo;
    }