handle 0! properly