added task distribution