Initial recursive logic try