add calc function