prob should document that 0 and 0 are a special case