Corrigindo Implementaçao e refatorando o codigo