fixed needs call
added task hook