refactor handling devision with zero