modificacoes para usar alguns conceitos requisitados