no need for -2^30. fix compiler warning about returns