to divide
refactor