can handle negatives, dropped negative errors