fixed lag, tail end recursion