Works with negative numbers now.