Atualizado codigo com ultimas modificacoes deixadas pra tras.