refact all task and fix