add  calc logic