without overflow