avoid instantiation for -0