overflows on large values, but finishes