key + functional alg.