wolf: add wolf summation (incomplete)
direct: clean up