divide calc-logic to subproject