more twiddling for compile efficiency