task logics