a caculate demo