Implementação refatorada para adequar-se ao projeto.