require lambda and mpp as inputs