NOVO: backtracking implementado! (não testado)
TODO: funções ajudantes
AWESOME FACTOR: beautiful comments, almost one per line