Can handle negative numbers and zero now.