computation wrapper