everything is always zbufferable.
use function helpers.
count the bits using a smarter(?) algo.

not benchmarked yet.