primeira versao funcional