complete calculateService