added negatives, decimal, and tested corner cases. need to fix divide by zero still