minor refinements, only prints on non-zero