copy basic impl of tasks system