added task support, maybe now socket