implementacao completa