implementando o esqueleto para parametros arbitrários