Versao final do codigo