fix divide by 0 bug